﻿using System.Collections.Generic;
using TrueSync;


namespace HEFramework
{
    public class AttributeComponent : Entity, IAwake<int, int>
    {
        public DRAttribute Attribute { get; set; }

        public FP HP { get; set; } = 0;
        public FP MP { get; set; } = 0;

        public Numeric X_HP { get; set; } = new(0);
        public Numeric X_MP { get; set; } = new(0);

        public Numeric REC_HP { get; set; } = new(0);
        public Numeric REC_MP { get; set; } = new(0);

        public Numeric P_ATK { get; set; } = new(0);
        public Numeric M_ATK { get; set; } = new(0);
        public Numeric P_DEF { get; set; } = new(0);
        public List<FP> M_DEF { get; set; } = new(0);

        public Numeric P_ATK_SP { get; set; } = new(0);
        public List<FP> M_ATK_SP { get; set; } = new(0);
        public Numeric MV_SP { get; set; } = new(0);

        public FP P_ATK_RAG { get; set; }
        public FP P_ATK_BAT { get; set; }
        public FP P_ATK_AT { get; set; }
        public FP P_ATK_DP { get; set; }
        public FP P_ATK_EP { get; set; }
        public FP P_ATK_DBS { get; set; }
        public FP M_ATK_CP { get; set; }
        public FP M_ATK_CBS { get; set; }

        public List<FP> DOG { get; set; } = new(0);
        public FP TRT { get; set; }

        public FP P_VP { get; set; }
        public FP M_VP { get; set; }
        public FP P_CRT { get; set; }
        public FP M_CRT { get; set; }
        public FP P_CRT_ADD { get; set; }
        public FP M_CRT_ADD { get; set; }


        public FP EXP { get; set; }
        public FP EXP_R { get; set; }

        public int LV { get; set; } = 0;
        public int RANK { get; set; } = 0;
        public int T_ID { get; set; }
    }
}